<?php

class ChamadoInterno extends Chamado implements IObject {

    public function __construct($ArDados, &$tMysqli = false) {
        $this->IDSetor = $ArDados['IDSetor'];
        $this->StTitulo = $ArDados['StTitulo'];
        $this->EnPrioridade = $ArDados['EnPrioridade'];
        if( !empty($ArDados['TxMensagem']) ) {
            $this->ArMensagens[0] = new Mensagem($ArDados['TxMensagem']);
        }
        $this->tMysqli = $tMysqli;
    }

    public function loadDataCreatedCall() {
        $this->DtCriacao = now();
        $this->EnStatus = 'ATENDENTE';
        $this->EnTipoChamado = 'INTERNO';
        $this->IDCliente = Dracosys::getLoggedUser()->getIDUsuario();
    }

    public function loadDataCalled($ArDados) {
        $this->IDCliente = $ArDados['IDCliente'];
        $this->DtCriacao = $ArDados['DtCriacao'];
        $this->DtFechamento = $ArDados['DtFechamento'];
        $this->EnPrioridade = $ArDados['EnPrioridade'];
        $this->EnStatus = $ArDados['EnStatus'];
        $this->EnTipoChamado = $ArDados['EnTipoChamado'];
        $this->IDChamado = $ArDados['IDChamado'];
        $this->IDResponsavel = $ArDados['IDResponsavel'];
    }

    public function setDefaultDataInAllMessages($IDChamado) {
        foreach($this->ArMensagens as &$Menssagem) {
            $Menssagem->setIdChamado($IDChamado);
            $Menssagem->setIDCliente($this->IDCliente);
            $Menssagem->setIDUsuario($this->IDResponsavel);
            $Menssagem->loadDefaultInternalCalledData();
        }
    }

    public function equals(IObject $Object) {
        return $Object->getIDChamado() == $this->IDChamado;
    }

}

?>
